//#include <string.h>
//#include <iostream>
//using namespace std;
//class takeBus
//{
//public:
//	void takeBustoA()
//	{
//		cout << "go to A by Bus" << endl;
//	}
//	void takeBustoB()
//	{
//		cout << "go to B by Bus" << endl;
//	}
//};
//class Bus
//{
//public:
//	virtual void takeBustoWhere(takeBus&) = 0;
//};
//
//class A :public Bus
//{
//public:
//	virtual void takeBustoWhere(takeBus& a) override
//	{
//		a.takeBustoA();
//	}
//};
//
//class B :public Bus
//{
//public:
//	virtual void takeBustoWhere(takeBus& a) override
//	{
//		a.takeBustoB();
//	}
//};
//
//int main()
//{
//	takeBus obj;
//	Bus* b = nullptr;
//	for (int i=0;i<10;i++)
//	{
//		if (i%2==0)
//		{
//			b = new A;
//		}
//		else
//		{
//			b = new B;
//		}
//		b->takeBustoWhere(obj);
//	}
//	delete b;
//	return 0;	
//}